The draft standard of IEEE 802.11n (Enhanced Wireless Consortium, PHY specification, Revision V1.28, Jan. 2, 2006), which is incorporated herein by reference in its entirety, specifies a MIMO (multiple-input multiple-output) OFDM (orthogonal frequency-division multiplexing) system. Referring now to FIG. 1, a functional block diagram of an exemplary implementation of an 802.11n transmitter is depicted. The transmitter includes a scrambler 104, which receives user data to be transmitted. The scrambler 104 scrambles the data to prevent long sequences of zeros or ones, and communicates with an encoder parser 106. The encoder parser 106 demultiplexes the scrambled bits among a number, NES, of FEC (forward error correction) encoders 108. NES, the number of encoding streams, is two in the example of FIG. 1.
The FEC encoders 108 encode the data to enable error correction, and may include a binary convolutional encoder followed by a puncturing device, or an LDPC (low density parity check) encoder. Implementing convolutional codes is mandatory, while LDPC codes are optional as a high-performance ECC (error correcting code) technique. When the LDPC codes are used, the number of FEC encoders is one (NES=1). The FEC encoders 108 communicate with a stream parser 110, which divides the output of the FEC encoders 108 into blocks that will be sent to different interleaver 112 and mapping 114 devices. The blocks going to a particular interleaver 112 are referred to as a spatial stream.
The stream parser 110 communicates with a number, NSS, of interleavers 112. NSS, the number of spatial streams, is four in the example of FIG. 1. The interleavers 112 interleave the bits of each spatial stream by changing order of the bits to prevent long sequences of adjacent noisy bits entering the FEC decoder. Each interleaver communicates with one of NSS number of QAM (quadrature amplitude modulation) mapping modules 114. The QAM mapping modules 114 map the sequence of bits in each spatial stream to constellation points (in the complex number plane). The QAM mapping modules 114 optionally communicate with a STBC (space time block coding) module 116. The STBC module 116 spreads constellation points from NSS spatial streams into NSTS (where NSTS>NSS) space time streams using a space time block code.
The STBC module 116 communicates with a number, NSTS−1, of cyclic shift modules 118, and with a spatial mapping module 120. NSTS, the number of space time streams, is four in the example of FIG. 1. The cyclic shift modules 118 insert cyclic shift into blocks in the frequency domain as part of spatial expansion when optional spatial mapping is implemented. The cyclic shift modules 118 communicate with the spatial mapping module 120. The spatial mapping module 120 maps spatial streams to different transmit chains. This may include: direct mapping each sequence of constellation points to a different transmit chain; spatial expansion, where each vector of constellation points from all sequences is multiplied by a matrix to produce input to the transmit chains; and/or beam forming, where each vector of constellation points from all sequences is multiplied by a matrix of steering vectors to produce input to the transmit chains.
The spatial mapping module 120 communicates with a number, NTX, of IFFT (inverse fast Fourier transform) modules 122. NTX, the number of transmit chains, is four in the example of FIG. 1. Each IFFT module 122 converts a block of constellation points into a time domain block. All but one of the IFFT modules 122 communicates with a corresponding cyclic shift insertion module 124. The one IFFT module 122 that does not communicate with one of the cyclic shift insertion modules 124 communicates with a GI/window module 126. The cyclic shift insertion modules 124 insert cyclic shift into the time domain blocks, and communicate with GI/window modules 126. The GI/window modules 126 insert guard intervals and optionally smooth the edges of each symbol to increase spectral decay. The GI/window modules 126 communicate with analog/RF modules 128, which up convert the complex baseband waveform to an RF signal and transmit.